package dao;

import java.sql.SQLException;
import java.util.ArrayList;

import model.EmployeeDTO;
import model.EmployeeSearchDTO;

public interface EmployeeDAO {
	public EmployeeDTO findEmployee(String employeeName) throws DAOException;
	public EmployeeDTO findEmployeewithfname(String firstName) throws DAOException;
	public EmployeeDTO findEmployee(int employeeID) throws DAOException;
	public EmployeeDTO FindEmployeeByUserPass(String employeeEmail, String employeePassword) throws DAOException;
	public ArrayList<EmployeeDTO> findEmployeeByManager(int managerID,String status) throws DAOException;
	public ArrayList<EmployeeDTO> findAllEmployee() throws DAOException;
	public void addEmployee(EmployeeDTO oneEmployee) throws SQLException;
	public void updateEmployee(EmployeeDTO oneEmployee)throws DAOException, SQLException;
	public void deleteEmployee(EmployeeDTO oneEmployee)throws DAOException, SQLException;
	public void deleteAllEmployee() throws SQLException;
	public int countAllEmployee() throws SQLException;
	public ArrayList<EmployeeDTO> findEmployeeByCriteria(EmployeeSearchDTO so)throws DAOException;
	public ArrayList<EmployeeDTO> findAllManager();
}
